<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Java 核心概念：static、继承与 Object 类</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css">
    <link rel="stylesheet" href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
            min-height: 100vh;
        }
        
        /* 首字下沉效果 */
        .drop-cap::first-letter {
            float: left;
            font-size: 4rem;
            line-height: 3rem;
            padding-right: 0.5rem;
            margin-top: 0.5rem;
            font-weight: 700;
            color: #4a5568;
            font-family: 'Noto Serif SC', serif;
        }
        
        /* 代码块美化 */
        pre {
            background: #1e293b;
            border-radius: 12px;
            padding: 1.5rem;
            overflow-x: auto;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
            position: relative;
        }
        
        pre::before {
            content: "Java";
            position: absolute;
            top: 0.5rem;
            right: 1rem;
            font-size: 0.75rem;
            color: #64748b;
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }
        
        code {
            color: #e2e8f0;
            font-family: 'Consolas', 'Monaco', monospace;
        }
        
        /* 卡片悬停效果 */
        .concept-card {
            transition: all 0.3s ease;
            background: white;
            border-radius: 16px;
            padding: 2rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        }
        
        .concept-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
        }
        
        /* 标题装饰 */
        .section-title {
            position: relative;
            padding-left: 1.5rem;
        }
        
        .section-title::before {
            content: "";
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 4px;
            height: 80%;
            background: linear-gradient(180deg, #3b82f6 0%, #8b5cf6 100%);
            border-radius: 2px;
        }
        
        /* 列表美化 */
        .custom-list li {
            position: relative;
            padding-left: 2rem;
            margin-bottom: 1rem;
        }
        
        .custom-list li::before {
            content: "\f00c";
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            position: absolute;
            left: 0;
            color: #3b82f6;
        }
        
        /* 动画效果 */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .animate-fadeInUp {
            animation: fadeInUp 0.8s ease-out;
        }
        
        /* 渐变文字 */
        .gradient-text {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        
        /* 高亮提示框 */
        .highlight-box {
            background: linear-gradient(135deg, #667eea15 0%, #764ba215 100%);
            border-left: 4px solid #667eea;
            padding: 1.5rem;
            border-radius: 8px;
            margin: 1.5rem 0;
        }
        
        /* Mermaid 图表样式 */
        .mermaid {
            background: white;
            padding: 2rem;
            border-radius: 12px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
            margin: 2rem 0;
        }
    </style>
</head>
<body>
    <!-- Hero 区域 -->
    <section class="relative overflow-hidden bg-gradient-to-br from-blue-600 via-purple-600 to-pink-500 text-white">
        <div class="absolute inset-0 bg-black opacity-20"></div>
        <div class="relative container mx-auto px-6 py-24 text-center">
            <h1 class="text-5xl md:text-7xl font-bold mb-6 animate-fadeInUp">
                Java 核心概念深度解析
            </h1>
            <p class="text-xl md:text-2xl mb-8 opacity-90 animate-fadeInUp" style="animation-delay: 0.2s;">
                掌握 static、继承与 Object 类的精髓
            </p>
            <div class="flex justify-center space-x-8 text-lg animate-fadeInUp" style="animation-delay: 0.4s;">
                <div class="flex items-center">
                    <i class="fas fa-code mr-2"></i>
                    <span>深入理解</span>
                </div>
                <div class="flex items-center">
                    <i class="fas fa-lightbulb mr-2"></i>
                    <span>实践应用</span>
                </div>
                <div class="flex items-center">
                    <i class="fas fa-rocket mr-2"></i>
                    <span>进阶提升</span>
                </div>
            </div>
        </div>
        <div class="absolute bottom-0 left-0 right-0">
            <svg viewBox="0 0 1440 120" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M0 120L60 110C120 100 240 80 360 70C480 60 600 60 720 65C840 70 960 80 1080 85C1200 90 1320 90 1380 90L1440 90V120H1380C1320 120 1200 120 1080 120C960 120 840 120 720 120C600 120 480 120 360 120C240 120 120 120 60 120H0V120Z" fill="#f5f7fa"/>
            </svg>
        </div>
    </section>

    <!-- 主要内容区域 -->
    <main class="container mx-auto px-6 py-12 max-w-6xl">
        
        <!-- 概念关系图 -->
        <section class="mb-16">
            <div class="text-center mb-8">
                <h2 class="text-3xl font-bold text-gray-800 mb-4">核心概念关系图</h2>
                <p class="text-gray-600">理解 Java 面向对象编程的关键要素</p>
            </div>
            <div class="mermaid">
                graph TD
                    A[Java 核心概念] --> B[static 关键字]
                    A --> C[继承机制]
                    A --> D[Object 类]
                    A --> E[final 关键字]
                    
                    B --> B1[静态变量]
                    B --> B2[静态方法]
                    B --> B3[静态代码块]
                    B --> B4[静态内部类]
                    
                    C --> C1[extends 关键字]
                    C --> C2[方法重写]
                    C --> C3[super 关键字]
                    C --> C4[继承链]
                    
                    D --> D1[equals 方法]
                    D --> D2[hashCode 方法]
                    D --> D3[toString 方法]
                    D --> D4[getClass 方法]
                    
                    E --> E1[final 变量]
                    E --> E2[final 方法]
                    E --> E3[final 类]
                    
                    style A fill:#667eea,stroke:#fff,stroke-width:3px,color:#fff
                    style B fill:#3b82f6,stroke:#fff,stroke-width:2px,color:#fff
                    style C fill:#10b981,stroke:#fff,stroke-width:2px,color:#fff
                    style D fill:#f59e0b,stroke:#fff,stroke-width:2px,color:#fff
                    style E fill:#ef4444,stroke:#fff,stroke-width:2px,color:#fff
            </div>
        </section>

        <!-- static 关键字部分 -->
        <section class="mb-16">
            <div class="concept-card">
                <h2 class="text-4xl font-bold mb-6 section-title gradient-text">
                    <i class="fas fa-cube mr-3"></i>static 关键字
                </h2>
                <p class="text-lg text-gray-700 mb-6 drop-cap">
                    在Java中，static 关键字用于定义类级别的成员，它可以修饰变量、方法和代码块。使用 static 关键字可以使成员变量和方法与类相关联，而不是与对象相关联。
                </p>
                
                <div class="grid md:grid-cols-2 gap-6 mt-8">
                    <div class="bg-gradient-to-br from-blue-50 to-indigo-50 p-6 rounded-lg">
                        <h3 class="text-xl font-semibold mb-3 text-blue-800">
                            <i class="fas fa-database mr-2"></i>静态变量
                        </h3>
                        <p class="text-gray-700 mb-4">
                            使用 static 关键字定义的变量称为静态变量，也称为类变量。静态变量属于类，所有的对象共享同一份静态变量的副本。
                        </p>
                        <pre><code>class MyClass {
    static int count = 0; // 静态变量
}

// 访问静态变量
int x = MyClass.count;
MyClass.count = 10;</code></pre>
                    </div>
                    
                    <div class="bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-lg">
                        <h3 class="text-xl font-semibold mb-3 text-green-800">
                            <i class="fas fa-cog mr-2"></i>静态方法
                        </h3>
                        <p class="text-gray-700 mb-4">
                            使用 static 关键字定义的方法称为静态方法，也称为类方法。静态方法属于类，可以直接通过类名调用。
                        </p>
                        <pre><code>class MyClass {
    static void display() { // 静态方法
        System.out.println("Hello, world!");
    }
}

// 调用静态方法
MyClass.display();</code></pre>
                    </div>
                    
                    <div class="bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-lg">
                        <h3 class="text-xl font-semibold mb-3 text-purple-800">
                            <i class="fas fa-code mr-2"></i>静态代码块
                        </h3>
                        <p class="text-gray-700 mb-4">
                            使用 static 关键字定义的代码块称为静态代码块，它在类加载时执行，且仅执行一次。
                        </p>
                        <pre><code>class MyClass {
    static {
        System.out.println("Static block");
    }
}</code></pre>
                    </div>
                    
                    <div class="bg-gradient-to-br from-yellow-50 to-orange-50 p-6 rounded-lg">
                        <h3 class="text-xl font-semibold mb-3 text-yellow-800">
                            <i class="fas fa-layer-group mr-2"></i>静态内部类
                        </h3>
                        <p class="text-gray-700 mb-4">
                            使用 static 关键字修饰的内部类称为静态内部类，它与外部类的实例无关。
                        </p>
                        <pre><code>class Outer {
    static class Inner { // 静态内部类
        void display() {
            System.out.println("Inner class");
        }
    }
}</code></pre>
                    </div>
                </div>
                
                <div class="highlight-box mt-8">
                    <p class="text-gray-700">
                        <i class="fas fa-info-circle mr-2 text-purple-600"></i>
                        <strong>重要提示：</strong>static 关键字的使用有助于提高代码的灵活性和性能，但需要注意静态成员的生命周期和作用域，以及静态方法的限制。
                    </p>
                </div>
            </div>
        </section>

        <!-- 继承部分 -->
        <section class="mb-16">
            <div class="concept-card">
                <h2 class="text-4xl font-bold mb-6 section-title gradient-text">
                    <i class="fas fa-sitemap mr-3"></i>继承
                </h2>
                <p class="text-lg text-gray-700 mb-6 drop-cap">
                    继承是面向对象编程中的重要概念之一，它允许子类（派生类）从父类（基类）继承属性和方法。在 Java 中，使用 extends 关键字来实现继承。
                </p>
                
                <div class